In order to control the attitude of a spacecraft, various rotating inertia memberscan be used. One such inertia member is a control moment gyroscope (CMG). A CMG typically comprises a flywheel with a fixed or variable spin rate mounted to a gimbal assembly. The spin axis of the CMG can be tilted by moving the CMG using the gimbal assembly. This motion produces a gyroscopic torque orthogonal to the spin axis and gimbal axis.
To achieve full attitude control of a spacecraft, a CMG array, including a minimum of three CMGs may be arranged such that each CMG in the CMG array imparts torque about a linearly independent axis. Typically, additional CMGs are provided for redundancy purposes and to assist with singularity avoidance. A singularity occurs when the momentum vectors of the CMGs line up such that one or more components of the requested torque can not be provided.
Several different techniques have been developed to avoid singularities. In one method it is first noted that a Jacobian A maps the CMG gimbal rates into a three dimensional array torque:Aω=τ  (1)where A is a 3×n Jacobian matrix, ω is a n×1 array of gimbal rates for the n gimbals, and τ is a 3×1 array of torque components to be imparted to the spacecraft. From the above equation and with a known torque command, τ, the individual gimbal rates for each CMG can be calculated. Using the known Moore-Penrose pseudoinverse to invert the Jacobian matrix, a set of possible gimbal rates is:ω=AT(AAT)−1τ.  (2)
As discussed previously, inherent in the use of CMGs is the possibility that the CMGs' momentum vectors may line up in such a way that a singularity condition is reached. Mathematically, singularities can occur when the eigenvalues of AAT approach zero, causing (AAT)−1 to approach infinity. Equivalently, singularities occur when the determinant of the matrix AAT is equal to zero (expressed algebraically as det (AAT)=0). In the case of a 3×n matrix A, this is equivalent to the rank of the matrix AAT being two or less.
Different approaches have been devised to avoid singularities in the movement of CMGs. In one approach, to ensure that (AAT)−1 never is zero, (AAT)−1 is replaced by (AAT+εI)−1 where I is the identity matrix and ε is a small number. The use of a positive ε ensures that det (AAT+εI)−1 never becomes 0.
While useful in some instances, a drawback to this approach is that this approach changes the gimbal rate calculation. In the case of the Jacobian A, the use of the pseudoinverse means that gimbal rates are no longer exactly mapped into the commanded torques because of the error ε introduces. This resulting error steers the spacecraft in the wrong direction and can introduce significant, undesired torque, especially near the singularity.
A second approach is to limit the CMG array's momentum output to a smaller area within a momentum envelope. The momentum envelope is the momentum provided in all possible combinations of the CMGs in the CMG array. In one exemplary embodiment, depending on the CMG arrangement, by operating within one-third or less of the total momentum envelopes, singularities can be avoided. However, this approach wastes potential torque and results in systems that are much larger and heavier than needed.
In view of the foregoing, it is desirable to provide a method for determining a singularity free momentum path that addresses one or more of the foregoing deficiencies or other deficiencies not implicitly or expressly described. It is also desirable to provide a system for determining a singularity free momentum path that addresses one or more of the foregoing deficiencies or other deficiencies not implicitly or expressly described. Furthermore, other desirable factors and characteristics of the present invention will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.